package org.jsola.hr.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.entity.BaseDeleteDO;
import org.jsola.core.entity.Key;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;

/**
 * 员工参保信息表
 *
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "hr_emp_soc_info")
@Key(UUID = true)
public class EmpSocInfoDO extends BaseDeleteDO<String> {

    private static final long serialVersionUID = 1L;

    /**
     * 社保缴费类型
     */
    private Integer payCostType;
    /**
     * 增减员计划标识(决定了这条数据是否在参保管理显示)
     */
    private Boolean planFlag;
    /**
     * 社保业务类型(1：增加/开户；2：续保/调入)
     */
    private Integer businessType;
    /**
     * 补交类型（1：补收，2：补缴）
     */
    private String supplementType;
    /**
     * 员工ID
     */
    private String empId;
    /**
     * 参保方案ID
     */
    private String progId;
    /**
     * 月统计主表ID
     */
    private String monthId;
    /**
     * 年份
     */
    private String year;
    /**
     * 月份
     */
    private String month;
    /**
     * 个人社保缴费
     */
    private BigDecimal personalSocAmount;
    /**
     * 个人公积金缴费
     */
    private BigDecimal personalPfAmount;
    /**
     * 公司社保缴费
     */
    private BigDecimal companySocAmount;
    /**
     * 公司公积金缴费
     */
    private BigDecimal companyPfAmount;
    /**
     * 服务费
     */
    private BigDecimal serviceCost;
    /**
     * 员工此月是否已离职
     */
    private Boolean whetherLeave;
    /**
     * 补收滞纳金（社保）
     */
    private BigDecimal socialSecurityFine;
    /**
     * 补缴滞纳金（公积金）
     */
    private BigDecimal accumulationFundFine;
    /**
     * 公司ID
     */
    private String companyId;
    /**
     * 分公司Id(或者总公司Id)
     */
    private String groupId;
    /**
     * 员工参保状态
     */
    private Integer empSocStatus;
    /**
     * 公积金状态
     */
    private Integer empPfStatus;
    /**
     * 员工医保状态
     */
    private Integer empMeStatus;
    /**
     * 退费类型(1：社保；2：公积金；3：医保)
     */
    private Integer refundsType;
    /**
     * 退费开始时间
     */
    private Date refundsBeginTime;
    /**
     * 退费结束时间
     */
    private Date refundsEndTime;



}

